package com.zang.greedy;

import java.util.Arrays;

/**
 * 双指针思想
 * @author ZVerify
 * @since 2022/11/19 19:40
 * @see <a href="https://leetcode.cn/problems/assign-cookies/">...</a>
 **/
public class 分发饼干 {

    // 最不能吃的人把最小的饼干吃了
    public int findContentChildren(int[] g, int[] s) {

        Arrays.sort(g);
        // s代表胃口
        Arrays.sort(s);
        int binggan = 0;
        int count = 0;

        for (int i = 0; i < s.length && binggan<g.length; i++) {
            if (s[i]>=g[binggan]){
                count++;
                binggan++;
            }
        }
        return count;
    }

    // 最能吃的人把最大的饼干吃了
    public int findContentChildrenen(int[] g, int[] s) {
        // 优先考虑饼干，把能分的饼干都分了
        Arrays.sort(g);
        // s代表胃口
        Arrays.sort(s);
        int binggan = s.length-1;
        int count = 0;
        // 如果这个人吃不了这个饼干说明这个饼干太大了，饼干要变小，如果可以吃，人要换，饼干也要换
        for (int i = g.length - 1; i >=0 && binggan>=0; i--) {
            if (s[binggan]>=g[i]){
                count++;
                binggan--;
            }
        }
        return count;
    }
}
